'use strict'

/**
 * The base class of all models.
 * It is only used to check whether the JavaScript object is a unique model object.
 *
 * @public
 */
class Model {
    /**
     * The constructor of class.
     *
     * @public
     */
    constructor() {
    }
}

// The status of model:
// 1.new
// 2.managed
// 3.detached
// 4.removed
// 
// State Transition
// -> new:
//     new
// 
// -> managed:
//     find
// 
// new -> managed:
//     create
// 
// managed -> managed:
//     refresh
// 
// managed -> removed:
// remove
Model.Status = {
    New: 'new',
    Managed: 'managed',
    Detached: 'detached', 
    Removed: 'removed'
};

module.exports = {
    Model
};
